package test20230421;

/**
 * @author 兴趣使然黄小黄
 * @version 1.0
 * @date 2023/4/21 16:46
 * 喝水问题
 */
public class Main02 {

    public static void main(String[] args) {
        // 创建两个学生对象, 假定学生小七每次喝水10L, 学生小黄每次喝水5L
        Student s1 = new Student("001", "小七", 10);
        Student s2 = new Student("002", "小黄", 5);
        // 小黄先喝4次5L水
        System.out.println("=========小黄先喝 4 次 5L 水=========");
        for (int i = 0; i < 4; i++) {
            s2.drinkWater();
        }
        // 小七先喝8次10L水
        System.out.println("=========小七喝 8 次 10L 水=========");
        for (int i = 0; i < 8; i++) {
            s1.drinkWater();
        }
        // 小黄再次尝试喝5L水
        System.out.println("=========小黄尝试喝 5L 水=========");
        s2.drinkWater();
    }
}

// 学生类
class Student {
    static int totalWater = 100; // 所有学生共享 100 L水

    private String id; // 学号
    private String name; // 姓名
    private int waterCount; // 每个学生喝水量

    public Student(String id, String name, int waterCount) {
        this.id = id;
        this.name = name;
        this.waterCount = waterCount;
    }

    // 模拟每个学生的喝水过程
    public void drinkWater() {
        if (waterCount > totalWater) {
            System.out.println("水不够喝");
            return;
        }
        System.out.println(id + "-" + name + "开始喝水: ");
        totalWater = totalWater - waterCount;
        System.out.print("喝水量: " + waterCount + "L");
        System.out.println("\t剩余水量: " + totalWater + "L");
    }
}
